package com.htandroid.htandroid.webservice;

import android.util.Xml;

import com.htandroid.htandroid.entity.GcwxVouchs;
import com.htandroid.htandroid.entity.GcwxVouchsForeign;

import org.xmlpull.v1.XmlPullParser;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.ArrayList;

public class XMLGcwxVouchsForeignlist
{

    /**
     * 解析评论xml信息
     * @param result
     * @return
     */
    public static ArrayList<GcwxVouchsForeign> paraseCommentInfors (String result)
    {
        ArrayList<GcwxVouchsForeign> list = new ArrayList<GcwxVouchsForeign>();
        //字符转换成字节流
        InputStream   inputStream   =   new ByteArrayInputStream(result.getBytes());
        XmlPullParser parser = Xml.newPullParser();

        try
        {
            parser.setInput (inputStream, "UTF-8");
            int eventType = parser.getEventType();
            GcwxVouchsForeign info = new GcwxVouchsForeign();

            while (eventType != XmlPullParser.END_DOCUMENT)
            {
                switch (eventType)
                {
                    case XmlPullParser.START_DOCUMENT:// 文档开始事件,可以进行数据初始化处理
                        break;
                    case XmlPullParser.START_TAG:// 开始元素事件
                        String name = parser.getName();
                        if (name.equalsIgnoreCase ("GcwxVouchsForeign") ){
                            info = new GcwxVouchsForeign();
                        }else{
                            eventType = parser.next();
                            if(name.equalsIgnoreCase ("autoid") ){
                                info.setAutoid(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("cvouchid") ){
                                info.setCvouchid(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("iquantity") ){
                                info.setIquantity(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("iprice") ){
                                info.setIprice(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("iamount") ){
                                info.setIamount(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("cmemo") ){
                                info.setCmemo(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("igetpricenum") ){
                                info.setIgetpricenum(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("cobjcode") ){
                                info.setCobjcode(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("cshdefine1") ){
                                info.setCshdefine1(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("cshdefine2") ){
                                info.setCshdefine2(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("cshdefine3") ){
                                info.setCshdefine3(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("cinvname") ){
                                info.setCinvname(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("cinvstd") ){
                                info.setCinvstd(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("cinvm_uint") ){
                                info.setCinvm_uint(string2null(parser.getText()));
                            }else if(name.equalsIgnoreCase ("cmemo") ){
                                info.setCmemo(string2null(parser.getText()));
                            }
                        }
                        break;
                    case XmlPullParser.END_TAG:// 结束元素事件
                        if (parser.getName().equalsIgnoreCase ("GcwxVouchsForeign") )
                        {
                            list.add (info);
                            info = null;
                        }
                        break;
                }
                eventType = parser.next();
            }
            inputStream.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return list;
    }
    //函数作用是把null 转为空
    public static String string2null(String str){
        String rtn = "";
        if (str == null || str.equals("null") || str.equals("anyType{}")){
            rtn = "";
        }else{
            rtn = str;
        }
        return rtn;
    }

}  
